#设置 CMake 的最低版本要求。
cmake_minimum_required(VERSION 3.22.1)

#定义项目的名称
project("LabelSimple" LANGUAGES CXX)

# 正确设置 GLM 的包含路径
set(GLM_DIR ${CMAKE_SOURCE_DIR}/include/glm)

#创建一个共享库
#使用 ${PROJECT_NAME} 而不是 ${CMAKE_PROJECT_NAME}，因为 project 命令会设置 PROJECT_NAME 变量，而 CMAKE_PROJECT_NAME 是顶层项目的名称，可能在子项目中不适用
add_library(${PROJECT_NAME} SHARED
        # List C/C++ source files with relative paths to this CMakeLists.txt.
        LabelSimple.cpp
        utils/ShaderLoader.cpp
        graphic/RectangleColorRender.cpp
        graphic/RectangleRenderer.cpp
        graphic/CubeRenderer.cpp
)

# 添加 GLM 的包含路径
# include_directories(${GLM_DIR})
# 避免重复设置包含路径：只需要使用 target_include_directories 即可，不需要再调用 include_directories
# 确保 target_include_directories 在 add_library 之后调用，以确保这些设置应用于正确的库目标
# 添加包含路径
target_include_directories(${PROJECT_NAME} PRIVATE ${GLM_DIR})

# target_link_libraries 也应该在 add_library 之后调用
#链接其他库或目标
target_link_libraries(${CMAKE_PROJECT_NAME}
        # List libraries link to the target library
        GLESv2
        android
        log)